package cn.iocoder.yudao.module.resource.controller.admin.story.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import jakarta.validation.constraints.*;

@Schema(description = "管理后台 - 场景新增/修改 Request VO")
@Data
public class StorySaveReqVO {

    @Schema(description = "场景id", requiredMode = Schema.RequiredMode.REQUIRED, example = "26693")
    private Integer id;

    @Schema(description = "角色id", requiredMode = Schema.RequiredMode.REQUIRED, example = "14314")
    @NotNull(message = "角色id不能为空")
    private Integer roleId;

    @Schema(description = "场景名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
    @NotEmpty(message = "场景名称不能为空")
    private String name;

    @Schema(description = "角色扮演", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "角色扮演不能为空")
    private String rpg;

    @Schema(description = "心跳指数", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "心跳指数不能为空")
    private Integer heartbeatLevel;

    @Schema(description = "时间长度（秒）", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "时间长度（秒）不能为空")
    private Integer duration;

    @Schema(description = "音频文件", requiredMode = Schema.RequiredMode.REQUIRED, example = "5335")
    @NotNull(message = "音频文件不能为空")
    private Long fileId;

    @Schema(description = "场景中的Prompts")
    private String prompt;

}